package com.bestcem.xm.user.dao;

import com.bestcem.xm.user.entity.pojo.OrganizationCustomSettingDO;

import java.util.List;

/**
 * 租户自定义配置信息服务
 *
 * @author qiongyu.cui <qiongyu.cui@idiaoyan.com>
 * @version v1.0
 * @date 2022/5/10 10:47
 */
public interface OrganizationCustomSettingDao {

    /**
     * 新增租户自定义配置信息
     *
     * @param organizationCustomSettingDO 自定义配置信息
     * @return java.lang.String 主键id
     * @author cuiqiongyu <qiongyu.cui@idiaoyan.cn>
     * @date 2022/05/10 10:48
     */
    String insert(OrganizationCustomSettingDO organizationCustomSettingDO);

    /**
     * 新增租户自定义配置信息，可指定字段
     *
     * @param organizationCustomSettingDO 自定义配置信息
     * @return java.lang.String 主键id
     * @author cuiqiongyu <qiongyu.cui@idiaoyan.cn>
     * @date 2022/05/10 10:48
     */
    String insertSelective(OrganizationCustomSettingDO organizationCustomSettingDO);

    /**
     * 根据主键id查询租户自定义配置信息
     *
     * @param id 主键id
     * @return com.bestcem.xm.user.entity.pojo.OrganizationCustomSettingDO
     * @author cuiqiongyu <qiongyu.cui@idiaoyan.cn>
     * @date 2022/05/10 10:49
     */
    OrganizationCustomSettingDO selectById(String id);

    /**
     * 根据相关参数查询租户自定义配置信息列表
     *
     * @param organizationCustomSettingDO 自定义配置信息
     * @return java.util.List<com.bestcem.xm.user.entity.pojo.OrganizationCustomSettingDO>
     * @author cuiqiongyu <qiongyu.cui@idiaoyan.cn>
     * @date 2022/05/10 11:10
     */
    List<OrganizationCustomSettingDO> selectBySelective(OrganizationCustomSettingDO organizationCustomSettingDO);

    /**
     * 根据主键更新租户自定义配置信息的某些字段
     *
     * @param organizationCustomSettingDO 租户自定义配置信息
     * @return java.lang.Integer 更新成功的条数
     * @author cuiqiongyu <qiongyu.cui@idiaoyan.cn>
     * @date 2022/05/10 10:50
     */
    Integer updateSelectiveById(OrganizationCustomSettingDO organizationCustomSettingDO);

    /**
     * 根据主键id删除租户自定义配置信息
     *
     * @param id 主键id
     * @return java.lang.Integer 删除成功的条数
     * @author cuiqiongyu <qiongyu.cui@idiaoyan.cn>
     * @date 2022/05/10 10:50
     */
    Integer deleteById(String id);

}
